export function didMount() {
    console.log("「页面 JS」：当前页面地址 " + location.href);
    const self = this;
    debugger
    let ocrCardId = self.$$("szyy_form_field_image_ocr_kq5");
    ocrCardId.$watch("cValue", (list) => {

        if(list === null || list === ''){
            return
        }

        // 校验车牌号
        validCardCode(self,list);

        // 填充车辆类型
        changeCardType(self,list);

        // 调用getApiroadValue函数
        getApiroadValue().then(res => {
            console.log('API响应:', res);
            // 检查 res 是否包含 result 属性，且 result 是一个非空数组
            if (res && Array.isArray(res.result) && res.result.length > 0) {
                // 这里我们假设您要处理数组中的第一个元素
                const firstResult = res.result[0];
                console.log('第一个结果:', firstResult);

                // 假设您想要设置某个组件的值为 road_code
                if (self.$$m("single_select_1rt2l2") && self.$$m("single_select_1rt2l2").props) {
                    self.$$m("single_select_1rt2l2").props.defaultValue.value = firstResult.road_code;
                    console.log('组件single_select_1rt2l2的值已设置为:', firstResult.road_code);
                } else {
                    console.error('组件single_select_1rt2l2未找到或结构不正确。');
                }
            } else {
                // 如果结果不是一个非空数组，输出警告
                console.warn('API未找到有效结果或结果不是数组。');
            }
        }).catch(err => {
            // 捕获并记录任何错误
            console.error('错误:', err);
        });
    });

}


function changeCardType(self, list){
    let id = 0;
    if (list.length === 8) {
        id = 52;
    } else if (list.length === 7) {
        id = 2;
    } else {

    }
    self.$$("single_select_exibgz").cValue = id;
    self.$$("single_select_exibgz").onChange();

}


function validCardCode(self, value) {


    // 新能源车牌
    const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
    // 旧车牌
    const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
    if (value.length === 7) {
        if (value.search(creg) == -1) {
            self.$message.warn("车牌号格式不正确");
        }
        else {
            return { success: true }
        }

    } else if (value.length === 8) {
        if (value.search(xreg) == -1) {
            self.$message.warn("车牌号格式不正确");
        }
        else {
            return { success: true }
        }
    } else {
        self.$message.warn("车牌号格式不正确");
    }
}




function getApiroadValue() {
    return new Promise((resolve, reject) => {
        api.EXEC_FORMULA("USER_ID()").then(res => {
            console.log('用户ID:', res.result);
            const userName = res.result;
            const params = [{ name: "human_id", valueContent: userName }];
            return api.DATA_SOURCE_EXECUTE("8e1260e2-0914-44dd-95bf-4622145de2f0", "api", params, [], "");
        }).then(res => {
            console.log('数据源响应:', res);
            // 确保解析JSON之前res.result是字符串
            if (typeof res.result === 'string') {
                try {
                    const resValue = JSON.parse(res.result);
                    resolve(resValue);
                } catch (parseErr) {
                    console.error('解析错误:', parseErr);
                    reject(parseErr);
                }
            } else {
                console.error('预期响应为字符串，但收到:', typeof res.result);
                reject(new Error('预期响应为字符串，但收到其他类型的数据。'));
            }
        }).catch(err => {
            console.error('数据源执行错误:', err);
            reject(err);
        });
    });
}
